package com.haidechizi.fastadmin.modules.gen.service;

import com.baomidou.mybatisplus.service.IService;
import com.haidechizi.fastadmin.common.page.PageDto;
import com.haidechizi.fastadmin.common.utils.PageInfo;
import com.haidechizi.fastadmin.modules.gen.entity.GenTable;
import com.haidechizi.fastadmin.modules.gen.entity.GenTableColumn;

import java.util.List;

/**
 * 业务表Service
 */

public interface GenTableService extends IService<GenTable> {

    GenTable get(Long id);

    /**
     * 分页查询
     *
     * @param pageDto
     * @param genTable
     * @return
     */
    PageInfo findPage(PageDto pageDto, GenTable genTable);

    /**
     * 获取物理数据表列表
     *
     * @param genTable
     * @return
     */
    List<GenTable> findTableListFormDb(GenTable genTable);

    /**
     * 验证表名是否可用，如果已存在，则返回false
     *
     * @param tableName
     * @return
     */
    boolean checkTableName(String tableName);

    /**
     * 获取物理数据表列表
     *
     * @param genTable
     * @return
     */
    GenTable getTableFormDb(GenTable genTable);


    /**
     * 添加
     *
     * @param genTable
     */
    void save(GenTable genTable);


    /**
     * 更新
     *
     * @param genTable
     */
    void update(GenTable genTable);

    /**
     * 删除
     *
     * @param ids
     */
    void delete(Long[] ids);

    /**
     * 获取表的列
     *
     * @param genTable
     * @return
     */
    List<GenTableColumn> findTableColumnList(GenTable genTable);


}
